변수의 타입

크게 기본형과 참조형으로 나눌 수 있다

기본형(Primitive Type)

실제 값(data)을 저장한다
boolean, char, byte, shrot, int, long, float, double

참조형(Reference Type)

어떤 값이 저장되어 있는 주소를 값으로 갖는다
자바는 C언어와 달리 참조형 변수 간의 연산을 할 수 없다
그래서 실제 연산에 사용되는 것은 모두 기본형 변수이다

8개의 기본형 타입을 제외한 나머지는 모두 참조형 타입이다
모든 참조형은 종류에 관계없이 객체의 주소값을 저장할 4byte, 8byte 의 메모리를 할당받는다
(32bit JVM은 4byte를, 64bit JVM은 8byte이다)

참조형 변수 선언

변수의 타입으로 클래스의 이름을 사용하므로, 클래스의 이름이 변수 타입이 된다

Date today = null;
today = new Date();

참조 변수는 null 또는 객체의 주소를 값으로 갖는다

속도 비교

Pasted image 20240819165539.png

기본형은 스택 메모리에 값 자체를 저장하므로 접근이 빠르고,
참조형은 참조를 스택 메모리에 저장 후 실제 값은 힙(Heap) 메모리에 저장하므로
값을 사용할 때마다 언박싱을 거쳐 느리다